package com.athena.framework.url.info;

/**
 * 用于保存url信息的实体类
 * 存储url所映射的对象或方法被反射生成的实例
 */
public class UrlInfo {

    /**
     * 类名或者类名加方法名
     */
    private String key;

    /**
     * 映射的URL
     */
    private String url;

    /**
     * 存储的是controller的class还是method
     */
    private String type;

    /**
     * 接收的请求方式
     */
    private String method;

    /**
     * url接口的描述
     */
    private String desc;

    /**
     * 执行体
     */
    private Object executor;

    /**
     * 如果保存的是url映射的方法，那么这里就存储这个方法所在对象的实例
     * 如果保存的是controller对象，那么这个值就为null
     */
    private Object parent;

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public Object getExecutor() {
        return executor;
    }

    public void setExecutor(Object executor) {
        this.executor = executor;
    }

    public Object getParent() {
        return parent;
    }

    public void setParent(Object parent) {
        this.parent = parent;
    }
}
